package com.yfp.client.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yfp.client.domain.ClientBill;
import com.yfp.client.domain.dto.ClientBillDTO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 *
 * @description 针对表【client_bill(用户余额明细)】的数据库操作Mapper
 * @createDate 2024-11-22 10:15:05
 * @Entity com.yfp.client.domain.ClientBill
 */
public interface ClientBillMapper extends BaseMapper<ClientBill> {

    /**
     * 查询用户余额明细
     *
     * @param clientBillDTO
     * @return
     */
    List<ClientBill> selectClientBillList(ClientBillDTO clientBillDTO);

    /**
     * 根据订单编号查询用户余额明细
     *
     * @param orderSn
     * @return
     */
    ClientBill selectByOrderSn(String orderSn);

    /**
     * 更新预支付id
     *
     * @param id
     * @param prepayId
     */
    void updatePrepayIdById(@Param("id") Long id, @Param("prepayId") String prepayId);

    /**
     * 更新订单信息
     *
     * @param clientBill
     */
    void updateByOrderSn(ClientBill clientBill);

    /**
     * 根据客户id获取充值记录
     * @param clientId
     * @return
     */
    List<ClientBill> balanceNotZero(String clientId);

    /**
     * 清空储值记录的余额和赠送金余额
     * @param cbId
     */
    void emptyCurrentBillMoney(Long cbId);

    /**
     * 根据订单号获取数据
     * @param orderId
     * @return
     */
    ClientBill getByOrderSn(String orderId);

    /**
     * 修改状态为待完成
     * @param id
     */
    void updateStatus(@Param("id") Long id, @Param("status") Integer status);
}




